package com.quan.xczs.rpc.api;

import com.quan.base.common.base.service.support.IService;
import com.quan.base.common.base.web.support.BaseResult;
import com.quan.xczs.rpc.model.XczsUser;
import com.quan.xczs.rpc.model.XczsUserInvited;

public interface XczsUserService extends IService<XczsUser, Integer> {
	
	/**
	 * 根据OPENID删除用户
	 * @param openid
	 */
	public void deleteByOpenId(String openid) ;
	
	/**
	 * 根据手机号码加载用户
	 * @param mobile
	 * @return
	 */
	public XczsUser getUserByMobile(String mobile) ;
	
	/**
	 * 根据OPENID加载用户
	 * @param mobile
	 * @return
	 */
	public XczsUser getUserByOpenId(String openid) ;
	
	/**
	 * 用户注册生成的短信验证码保存到数据库中，以便用户注册时验证
	 * @param openid 微信openid
	 * @param validCode 验证码
	 * @param expire_minute 验证码的过期时间（分钟）
	 * @return
	 */
	public int registerSetValidCode(String openid, String validCode, int expire_minute) ;
	
	/**
	 * 用户自己注册，验证成功，保存用户信息
	 * @param openid 微信openid
	 * @param realName 真实姓名
	 * @param mobile 手机号
	 * @return
	 */
	public BaseResult registerBinding(String openid, String realName, String mobile) ;
	
	/**
	 * 被邀请注册，验证成功，保存用户信息
	 * @param openid 微信openid
	 * @param realName 真实姓名
	 * @param mobile 手机号
	 * @param entity 邀请注册的关联关系
	 * @return
	 */
	public BaseResult registerBinding(String openid, String realName, String mobile, XczsUserInvited invited) ;

}
